package com.bdmc.report.domain.vo;

import com.bdmc.common.convert.LocalDateConverter;
import com.bdmc.common.convert.LocalDateTimeConverter;
import org.springframework.format.annotation.DateTimeFormat;;
import java.math.BigDecimal;
import java.time.LocalDate;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.bdmc.common.annotation.ExcelDictFormat;
import com.bdmc.common.convert.ExcelDictConvert;
import lombok.Data;

/**
 * 人员,车辆检查点工作及里程统计视图对象 report_check_point
 *
 * @author bdmc
 * @date 2022-03-11
 */
@Data
@ExcelIgnoreUnannotated
public class ReportCheckPointVo {

	private static final long serialVersionUID = 1L;

    /**
     * 检查点报表主键
     */
	private Long reportPointId;

	/**
	 * 排班计划id
	 */
	private Long workPlanId;

	/**
	 * 工作组id
	 */
	private Long workTeamId;

    /**
     * person或car
     */
	@ExcelProperty(value = "工作对象类型",converter = ExcelDictConvert.class)
	@ExcelDictFormat(dictType = "work_plan_type")
	private String targetType;

    /**
     * 车辆id
     */
	private Long carId;

    /**
     * 车牌号
     */
	@ExcelProperty(value = "车牌号")
	private String carNum;

    /**
     * 人员id
     */
	private Long personId;

    /**
     * 人员姓名
     */
	@ExcelProperty(value = "人员姓名")
	private String personName;

	@ExcelProperty(value = "所属部门")
	private String deptName;

	@ExcelProperty(value = "排班名称")
	private String workPlanName;

	@ExcelProperty(value = "班组名称")
	private String workTeamName;
    /**
     * 工作日期
     */
	@ExcelProperty(value = "工作日期",converter = LocalDateConverter.class)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDate effectDate;

    /**
     * 检查点名称
     */
	@ExcelProperty(value = "检查点名称")
	private String checkName;

    /**
     * 检查点
     */
	private String checkPoint;

    /**
     * 进入次数
     */
	@ExcelProperty(value = "进入次数")
	private Integer enterCount;

    /**
     * 进入时间
     */
	@ExcelProperty(value = "进入时间")
	private String enterTime;

    /**
     * 里程
     */
	@ExcelProperty(value = "里程(米)")
	private BigDecimal mileage;

}
